package com.bjpowernode.controller;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bjpowernode.entity.PmsBrand;
import com.bjpowernode.entity.PmsCategory;
import com.bjpowernode.service.PmsBrandService;
import com.bjpowernode.service.PmsCategoryService;
import com.bjpowernode.vo.ResultJson;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 * 分类表 前端控制器
 * </p>
 *
 * @author zs
 * @since 2024-06-07
 */
@RestController
@RequestMapping("/pmsCategory")
public class PmsCategoryController {
    @Resource
    PmsCategoryService pmsCategoryService;

    //查询（商品分类不需要分页查询和高级查询，普通查询（查询出多层级的列表，儿子孙子都要查询）即可）
    @GetMapping("/list")
    public ResultJson<List<PmsCategory>> list() throws InterruptedException {
        return ResultJson.success(pmsCategoryService.getAll());
    }

    //定义请求保存新增管理员方法，接收前端返回的参数，返回是否保存成功的结果
    @PostMapping("/save")
    public ResultJson<Boolean> save(String name, String parentId, Integer level) {
        return ResultJson.success(pmsCategoryService.save(name,parentId, level), "添加分类成功");
    }

    //根据id指定查询管理员信息，目的是方便后面的修改操作
    @GetMapping("/getById")
    public ResultJson<PmsCategory> getById(String id) {
        return ResultJson.success(pmsCategoryService.getById(id));
    }

    //定义请求保存修改管理员方法，接收前端返回的参数，返回是否保存成功的结果
    @PostMapping("/update")
    public ResultJson<Boolean> update(String id, String name) {
        return ResultJson.success(pmsCategoryService.update(id, name), "修改分类成功");
    }

    //删除操作（不进行直接删除，而是控制启用禁用状态）
    @PostMapping("/delete")
    public ResultJson<Boolean> delete(String id, Boolean active) {
        return ResultJson.success(pmsCategoryService.delete(id, active), active ? "启用分类成功" : "禁用分类成功");
    }
}
